package org.dtrd.modules.flup.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.dtrd.modules.flup.entity.bean.FlupTemplateProjectDetail;
import org.dtrd.modules.flup.entity.bean.FlupTemplateProjectListInfo;
import org.dtrd.modules.flup.entity.po.DtrdEntRdFlupTemplateProject;
import org.dtrd.modules.flup.entity.request.FlupTemplateProjectListRequest;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 复诊模版项目服务类
 * </p>
 *
 * @author QR
 * @since 2021-12-21
 */
public interface IDtrdEntRdFlupTemplateProjectService extends IService<DtrdEntRdFlupTemplateProject> {

    List<FlupTemplateProjectListInfo> getFlupTemplateProjectList(FlupTemplateProjectListRequest request);

    boolean saveOrUpdateFlupTemplateProject(FlupTemplateProjectDetail dto);

    boolean removeFlupTemplateProject(Integer dataId);

    /**
     * 通过模版获取模版下的 项目id:详情 map
     */
    Map<Integer, String> getTemplateProjectIdToDetail(Integer templateId);

    /**
     * 判断是否有相同名字的模版
     */
    boolean isInValidTemplateProjectName(String projectName, Integer dataId, String orgCode);

    /**
     * 判断项目是否为固定的项目
     */
    boolean isFixedFlupTemplateProject(Integer projectId);

    /**
     * 根据 id 获取名字
     */
    String getProjectName(Integer id);
}
